/*!
 * \file fmtlib.h
 * \brief fmt格式化库头文件包装
 * 
 * \details 对fmt格式化库的简单封装，提供：
 *          - fmt库的header-only模式配置
 *          - 通过spdlog内置的fmt库进行字符串格式化
 *          - 现代C++风格的类型安全格式化功能
 *          - printf风格格式化的兼容支持
 *          
 *          fmt库是一个现代的C++格式化库，提供比printf更安全、
 *          更快速的字符串格式化功能。通过spdlog内置版本使用，
 *          避免了外部依赖管理的复杂性。
 *          
 *          主要特点：
 *          - 类型安全：编译时检查格式字符串
 *          - 性能优异：比标准库iostream更快
 *          - 易于使用：支持Python风格的格式化语法
 *          - 兼容性好：支持C++11及以上标准
 *          
 *          使用示例：
 *          \code
 *          #include "fmtlib.h"
 *          
 *          // 现代格式化风格
 *          std::string msg = fmt::format("价格: {:.2f}, 数量: {}", 3.14159, 100);
 *          
 *          // printf兼容风格
 *          std::string msg2 = fmt::sprintf("价格: %.2f, 数量: %d", 3.14159, 100);
 *          \endcode
 */
#pragma once

/*!
 * \def FMT_HEADER_ONLY
 * \brief 启用fmt库的header-only模式
 * 
 * \details 定义此宏使fmt库以header-only模式工作，
 *          所有实现都包含在头文件中，无需链接额外的库文件。
 *          这简化了构建过程，但可能增加编译时间。
 */
#ifndef FMT_HEADER_ONLY
#define FMT_HEADER_ONLY
#endif

/*!
 * \brief 包含fmt库的核心格式化功能
 * 
 * \details 通过spdlog内置的fmt库提供现代C++字符串格式化功能：
 *          - fmt::format() - Python风格的格式化
 *          - fmt::vformat() - 可变参数版本
 *          - 各种格式化选项和类型支持
 */
#include <fmt/format.h>

/*!
 * \brief 包含printf风格的格式化功能
 * 
 * \details 提供与C标准库printf兼容的格式化函数：
 *          - fmt::printf() - 类型安全的printf替代
 *          - fmt::sprintf() - 字符串格式化
 *          - fmt::fprintf() - 文件输出格式化
 *          
 *          这些函数提供了printf的所有功能，但更加类型安全，
 *          在编译时就能发现格式字符串错误。
 */
#include <fmt/printf.h>
